<?php

/**
 * Controlardor de gestión de equipos
 *
 */
class controlador_equipos {

    /**
     * Método para mostrar los equipos
     */
    public function listado_equipos() {
        $obj_equipos = new Equipo();
        $params_equipos = $obj_equipos->obtener_todos_equipos();
        require 'app/views/listado_equipos.php';
    }

    /**
     * Método para mostrar los datos del equipo
     */
    public function ver_equipo() {
        $obj_equipos = new Equipo();
        if (!$param_equipo = $obj_equipos->get($_GET['id'])) {
            header('location:../home');
        }

        $obj_equipo_competicion = new EquipoCompeticion();
        $params_equipo_competicion = $obj_equipo_competicion->get_competiciones_by_equipo($param_equipo['id']);
        //print_r($params_competiciones);die();

        $obj_competicion = new Competicion();
        $params_competicion = $obj_competicion->obtener_todas_competiciones();

        require 'app/views/ver_equipo.php';
    }

    /**
     * Método para mregistrar un equipo
     */
    public function registro_equipo() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_equipo = new Equipo();

            //Limpiamos los campos y los guardamos en variables
            $nombre = test_input($_POST['nombre']);
            $pais = test_input($_POST['pais']);
            $escudo = $_FILES["escudo"]["name"];
            $competicion = test_input($_POST['competicion']);

            $error = false;
            // MIME types permitidos
            $mime = array('image/jpg', 'image/jpeg', 'image/gif', 'image/png');
            // Buscamos si el archivo que subimos tiene el MIME type que permitimos en nuestra subida
            if (!in_array($_FILES['escudo']['type'], $mime)) {
                $error = true;
            }
            // Le decimos al usuario que se olvido de subir un archivo
            if ($_FILES['escudo']['type'] == '') {
                $error = true;
            }
            // Indicamos hasta que peso de archivo puede subir el usuario.
            if ($_FILES['escudo']['size'] > '2097152') {
                $error = true;
            }

            if (!empty($nombre) && !empty($escudo) && !empty($pais) && (!$error)) {
                //comprobamos que no exista escudo con mismo nombre
                $i = 1;
                while (file_exists("../betporra/web/images/clubs/$escudo")) {
                    $escudo = "($i)" . $_FILES["escudo"]["name"];
                    $i++;
                }

                $array_datos = array(
                    'nombre' => $nombre,
                    'pais' => $pais,
                    'escudo' => $escudo
                );

                $obj_equipo->set($array_datos);
                $ultima_id = $obj_equipo->get_last_id();

                $array_datos_equipo_competicion = array(
                    'equipo' => $ultima_id,
                    'competicion' => $competicion
                );

                $obj_equipo_competicion = new EquipoCompeticion();
                $obj_equipo_competicion->set($array_datos_equipo_competicion);

                move_uploaded_file($_FILES["escudo"]["tmp_name"], "../betporra/web/images/clubs/$escudo");
                $_SESSION['adminbetporra_msj'] = 'Equipo guardado correctamente.';
                header("location:ver_equipo/$ultima_id");
            } else {
                $_SESSION['adminbetporra_msj'] = 'No se han introducido todos los datos.';
                header('location:registro_equipo');
            }
        } else {
            $obj_competicion = new Competicion();
            $params_competicion = $obj_competicion->obtener_todas_competiciones();

            include 'app/views/registro_equipo.php';
        }
    }

    /**
     * Formulario para editar equipos
     */
    public function editar() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_equipo = new Equipo();

            //Limpiamos los campos y los guardamos en variables
            $nombre = test_input($_POST['nombre']);
            $pais = test_input($_POST['pais']);
            $id = $_GET['id'];

            $array_datos = array(
                "id" => $id,
                "nombre" => $nombre,
                "pais" => $pais
            );

            $obj_equipo->edit($array_datos);
            $_SESSION['adminbetporra_msj'] = 'Equipo modificado correctamente.';
            header("location: ../ver_equipo/$id");
        } else {
            $obj_equipo = new Equipo();
            if (!$obj_equipo->get($_GET['id'])) {
                header('location:../equipos');
            } else {
                require 'app/views/modificar_equipo.php';
            }
        }
    }

    /**
     * Método para mregistrar un equipo
     */
    public function registro_equipo_competicion() {
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $obj_equipo_competicion = new EquipoCompeticion();

            //Limpiamos los campos y los guardamos en variables
            $equipo = $_GET['id'];
            $competicion = test_input($_POST['competicion']);

            $array_datos = array(
                'equipo' => $equipo,
                'competicion' => $competicion
            );

            $obj_equipo_competicion->set($array_datos);

            $_SESSION['adminbetporra_msj'] = 'Equipo añadido a la competición.';
            header("location:../ver_equipo/$equipo");
        } else {
            $_SESSION['adminbetporra_msj'] = 'No se ha podido añadir el equipo a la competición.';
            header("location:../ver_equipo/$equipo");
        }
    }

}

?>